home *** CD-ROM | disk | FTP | other *** search
/ The Atari Compendium / The Atari Compendium (Toad Computers) (1994).iso / files / prgtools / programm.ing / m2gem106.lzh / CRYSTAL1.06 / SRC / CRYSTAL / VCONTROL.DEF < prev    next >
Encoding:
Modula Definition  |  1993-11-07  |  6.6 KB  |  204 lines

  1. DEFINITION MODULE VControl;
  2.  
  3. (*
  4. VDI Control Functions.
  5.  
  6. UK __DATE__ __TIME__
  7. *)
  8.  
  9. (*DEF_SWITCHES*)
  10.  
  11. FROM PORTAB IMPORT ANYPOINTER,UNSIGNEDWORD,SIGNEDWORD,ANYBYTE;
  12. FROM VDI    IMPORT MFDB,XY;
  13.  
  14. #if ST
  15. PROCEDURE NOTVQGDOS(): BOOLEAN;
  16. PROCEDURE VQFSMGDOS(): BOOLEAN;
  17. PROCEDURE VQFNTGDOS(): BOOLEAN;
  18. PROCEDURE VQSpeedoGDOS(): BOOLEAN;
  19. #endif
  20.  
  21. (* [V]DI: [Get] [Driver] [Info] ********************************************)
  22.  
  23. TYPE InfoSelections = (DrvResvd,DrvFName,DrvNames,DrvXNames,DrvFonts,
  24.                        DrvPatch);
  25.  
  26. PROCEDURE VGetDriverInfo(    Device    : UNSIGNEDWORD;
  27.                              Info      : InfoSelections;
  28.                          VAR InfoString: ARRAY OF CHAR;
  29.                          VAR InfoWord  : UNSIGNEDWORD);
  30.  
  31. (* [V]DI: [Op]e[n] [W]or[k]station *****************************************)
  32.  
  33. CONST NDC = 0;
  34.       RC  = 2;
  35.  
  36.       MaxWorkIn  = 103; (* GEM/3 *)
  37.       MaxWorkOut =  57;
  38.  
  39.       Screen   = 1;
  40.       Plotter  = 11;
  41.       Printer  = 21;
  42.       Metafile = 31;
  43.       Camera   = 41;
  44.       Tablet   = 51;
  45.       Memory   = 61;
  46.       Image    = 91;
  47.  
  48.       OWFile     = 0;
  49.       OWSerial   = 1;
  50.       QWParallel = 2;
  51.       OWDevice   = 3;
  52.       OWNoChange = 255;
  53.  
  54.       OWLetter1  = 0;
  55.       OWHalf     = 5;
  56.       OWB5       = 10;
  57.       OWLetter2  = 20;
  58.       OWA4       = 30;
  59.       OWLegal    = 40;
  60.       OWDouble   = 50;
  61.       OWBroad    = 55;
  62.       OWIndirect = 255;
  63.  
  64. PROCEDURE VOpnWk(VAR WorkIn : ARRAY OF UNSIGNEDWORD;
  65.                      MaxX   : XY;
  66.                      MaxY   : XY;
  67.                  VAR Handle : UNSIGNEDWORD;
  68.                  VAR WorkOut: ARRAY OF UNSIGNEDWORD;
  69.                  VAR Buffer : MFDB);
  70.  
  71. (* [V]DI: [Cl]o[s]e [W]or[k]station ****************************************)
  72.  
  73. PROCEDURE VClsWk(VAR Handle: UNSIGNEDWORD);
  74.  
  75. (* [V]DI: [Op]e[n] [V]irtual Screen [W]or[k]station ************************)
  76.  
  77. PROCEDURE VOpnVWk(VAR WorkIn : ARRAY OF UNSIGNEDWORD;
  78.                   VAR Handle : UNSIGNEDWORD;
  79.                   VAR WorkOut: ARRAY OF UNSIGNEDWORD);
  80.  
  81. (* [V]DI: [Cl]o[s]e [V]irtual Screen [W]or[k]station ***********************)
  82.  
  83. PROCEDURE VClsVWk(VAR Handle: UNSIGNEDWORD);
  84.  
  85. (* [V]DI: [Op]e[n] [B]it[m]ap **********************************************)
  86.  
  87. PROCEDURE VOpnBm(VAR WorkIn : ARRAY OF UNSIGNEDWORD;
  88.                  VAR Bitmap : MFDB;
  89.                  VAR Handle : UNSIGNEDWORD;
  90.                  VAR WorkOut: ARRAY OF UNSIGNEDWORD);
  91.  
  92. (* [V]DI: [Cl]o[s]e [B]it[m]ap *********************************************)
  93.  
  94. PROCEDURE VClsBm(VAR Handle: UNSIGNEDWORD);
  95.  
  96. (* [V]DI: [Cl]ea[r] [W]or[k]station ****************************************)
  97.  
  98. PROCEDURE VClrWk(Handle: UNSIGNEDWORD);
  99.  
  100. (* [V]DI: [Upd]ate [W]or[k]station *****************************************)
  101.  
  102. TYPE PrinterErrors = (NoError,PrinterNotReady,TonerEmpty,WarmUp,PaperEmpty,
  103.                       DrumEmpty,InputJam,ThroughJam,OutputJam,CoverOpen,
  104.                       FuserMalfunction,ImagerMalfunction,MotorMalfunction,
  105.                       VideoMalfunction,SystemTimeout);
  106.  
  107. PROCEDURE VUpdWk(    Handle: UNSIGNEDWORD;
  108.                  VAR Buffer: MFDB): UNSIGNEDWORD;
  109.  
  110. (* [V]DI [S]et [T]ext Attributes: [Load] [Fonts] ***************************)
  111.  
  112. PROCEDURE VSTLoadFonts(Handle: UNSIGNEDWORD;
  113.                        Select: UNSIGNEDWORD;
  114.                        Max   : UNSIGNEDWORD;
  115.                        Free  : UNSIGNEDWORD): UNSIGNEDWORD;
  116.  
  117. (* [V]DI [S]et [T]ext Attributes: [Unload] [Fonts] *************************)
  118.  
  119. PROCEDURE VSTUnloadFonts(Handle: UNSIGNEDWORD;
  120.                          Select: UNSIGNEDWORD);
  121.  
  122. (* [V]DI: [S]et [Clip]ping Rectangle ***************************************)
  123.  
  124. PROCEDURE VSClip(    Handle: UNSIGNEDWORD;
  125.                      Clip  : BOOLEAN;
  126.                  VAR PXY   : ARRAY OF XY);
  127.  
  128. (* [V]DI: [Set] Bezier [App]lication [Buff]er ******************************)
  129.  
  130. PROCEDURE VSetAppBuff(Handle: UNSIGNEDWORD; (* will be ignored     *)
  131.                       Buf   : ANYPOINTER;
  132.                       Size  : UNSIGNEDWORD); (* amount of 16 bytes *)
  133.  
  134. (* [V]DI: Switch [Bez]ier [C]apability [On]Off *****************************)
  135.  
  136. PROCEDURE VBezCOn(Handle: UNSIGNEDWORD; OnOff: BOOLEAN): UNSIGNEDWORD;
  137.  
  138. (* [V]DI: Switch [Bez]ier Functions [On] ***********************************)
  139.  
  140. PROCEDURE VBezOn(Handle: UNSIGNEDWORD): UNSIGNEDWORD;
  141.  
  142. (* [V]DI: Switch [Bez]ier Functions [Off] **********************************)
  143.  
  144. PROCEDURE VBezOff(Handle: UNSIGNEDWORD);
  145.  
  146. (* [V]DI: Set [Bez]ier [Qual]ity *******************************************)
  147.  
  148. PROCEDURE VBezQual(Handle: UNSIGNEDWORD;
  149.                    PrCnt : UNSIGNEDWORD): UNSIGNEDWORD;
  150.  
  151. (* [V]DI: [Q]uery [Bez]ier Capability **************************************)
  152.  
  153. PROCEDURE VQBez(Handle: UNSIGNEDWORD):BOOLEAN;
  154.  
  155. (* [V]DI: [Rotate] [Pat]tern ***********************************************)
  156.  
  157. PROCEDURE VPatRotate(Handle: UNSIGNEDWORD;
  158.                      Angle : UNSIGNEDWORD);
  159.  
  160. (* [V]DI: [Save] Font [Cache] To Disk **************************************)
  161.  
  162. PROCEDURE VSaveCache(    Handle  : UNSIGNEDWORD;
  163.                      VAR FileName: ARRAY OF CHAR): SIGNEDWORD;
  164.  
  165. (* [V]DI: [Load]/Merge Font [Cache] From Disk ******************************)
  166.  
  167. PROCEDURE VLoadCache(    Handle  : UNSIGNEDWORD;
  168.                      VAR FileName: ARRAY OF CHAR;
  169.                          Replace : BOOLEAN): SIGNEDWORD;
  170.  
  171. (* [V]DI: [Flush] Font [Cache] *********************************************)
  172.  
  173. PROCEDURE VFlushCache(Handle: UNSIGNEDWORD): SIGNEDWORD;
  174.  
  175. (* [V]DI: [Get] Bezier Representation Of An [Outline] Character ************)
  176.  
  177. PROCEDURE VGetOutline(    Handle  : UNSIGNEDWORD;
  178.                           Char    : CHAR;
  179.                       VAR XYArray : ARRAY OF XY;
  180.                       VAR BezArray: ARRAY OF ANYBYTE;
  181.                           MaxVerts: UNSIGNEDWORD;
  182.                       VAR NumVerts: UNSIGNEDWORD);
  183.  
  184. (* [V]DI [S]et [T]ext Attributes: Set [Scratch] Buffer Allocation Mode *****)
  185.  
  186. PROCEDURE VSTScratch(Handle: UNSIGNEDWORD; Mode: UNSIGNEDWORD);
  187.  
  188. (* [V]DI [S]et [T]ext Attributes: Set FSM [Error] Mode *********************)
  189.  
  190. PROCEDURE VSTError(    Handle  : UNSIGNEDWORD;
  191.                        Mode    : BOOLEAN;
  192.                    VAR ErrorVar: SIGNEDWORD);
  193.  
  194. (* [V]DI [S]et [T]ext Attributes: Set [Char]acter [Map]ping Mode ***********)
  195.  
  196. PROCEDURE VSTCharMap(Handle: UNSIGNEDWORD; Mode: BOOLEAN);
  197.  
  198. (* [V]DI: [Q]uery [Scr]ee[n] [Info]rmation *********************************)
  199.  
  200. PROCEDURE VQScrnInfo(    Handle : UNSIGNEDWORD;
  201.                      VAR WorkOut: ARRAY OF UNSIGNEDWORD);
  202.  
  203. END VControl.
  204.